Skip to content

fix(reliability): bound durable ETag validation - #188

Draft
seonghobae wants to merge 27 commits into
mainfrom
fix/autosave-etag-resource-boundary-187
Draft

fix(reliability): bound durable ETag validation#188
seonghobae wants to merge 27 commits into
mainfrom
fix/autosave-etag-resource-boundary-187

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Scope

Closes #187.
Closes #342.

This Draft is the sole integration writer for src/autosave/session.ts. It keeps Inkspan's durable autosave boundary provider-neutral: hosts own transport, authorization, tenancy, persistence, retry/timeout policy, credentials, and durable audit; Inkspan owns deterministic validation, local state, single-flight ordering, and validator handoff.

Protected shipped truth is independently resolved as main@3b38ead2d00f44eb578d0689087b9293b3dabe1e. Current exact Draft head is 0e0694a7f4a8cfe6dc3f96e1d67a964d4814bf89.

Test-first autosave lineage

Durable ETag resource ceiling

The #187 work rejects complete strong ETag candidates above the local 64 Ki UTF-16-code-unit ceiling before regex evaluation while preserving in-bound RFC 9110 strong entity-tag grammar, exact-ceiling ASCII/obs-text acceptance, first-code-unit-over rejection, and payload-redacted initial/recovery/save-result failures. That resource ceiling is Inkspan local policy, not an RFC field-size claim.

#342 malformed-result reflection preflight

RED — exact test-only head a063212389b4678ddef8033fb102367d621258d1. CI 31873701732, build-and-test job 94986097060, checked out that exact SHA; frozen install and typecheck passed before the public-session regression failed because an invalid durable-save result reached caller-controlled ownKeys reflection.

Initial GREEN — dba2d9f124e825462178f3c62ebb903c7ec21004. readDurableSaveResult() inspects the own status descriptor before Reflect.ownKeys(). Missing/accessor/unknown status fails closed before global own-key enumeration; only exact data values conflict or saved proceed to exact-key-shape validation.

The same canonical source lane continued with bounded result-shape hardening at 8fa73b6212b672a7eeca2342c7ace2cf5b26a407, ffedd83b3ccf74336f4334bf1b5ef49bbb63b20d, 79cdab038e0f3f7789c4959d23494815a9d0cd61, 5cbbaaca66843bc2c103de59b1d05b17c431e29b, and 9b5ade5be709bd576686eb4e839e9428ca9314cc. Predecessor evidence does not transfer after later head movement.

Release-control contradiction convergence

This long-lived branch had inherited stale release-control state while protected main advanced through #326. That was a branch-state contradiction, not autosave product authority.

Current repair commit 0e0694a7f4a8cfe6dc3f96e1d67a964d4814bf89 restores .github/workflows/release.yml byte-for-byte from protected main@3b38ead2d00f44eb578d0689087b9293b3dabe1e without a force push or destructive rebase. Fresh exact comparison now resolves the merge base to the protected tip, reports 23 ahead / 0 behind, and contains only the six intended autosave/documentation paths:

  • docs/README.md;
  • docs/doctoring/durable-etag-resource-boundary.md;
  • src/autosave/session.entityTagPackageBoundary.test.ts;
  • src/autosave/session.entityTagResourceBoundary.test.ts;
  • src/autosave/session.ts;
  • src/durableEtagResourceDocumentation.test.ts.

The protected exact-release-checkout workflow is no longer a PR-owned delta. This converges the branch to protected release authority while leaving autosave runtime scope unchanged.

Exact-current-head evidence

For unchanged exact head 0e0694a7f4a8cfe6dc3f96e1d67a964d4814bf89:

  • CI 32092237685: completed / success;
  • Security Scan 32092237702: completed / success;
  • SAST Semgrep 32092237686: completed / success;
  • formal submitted reviews: 0;
  • unresolved inline review threads: 0;
  • GitHub reports the Draft mergeable.

These are repository-level exact-head technical results only. Any separately applicable central workflow that is absent, pending, queued, cancelled, skipped, predecessor-only, status-only, or model-only remains non-passing. Automated/model/status evidence is not qualifying independent approval.

Integration boundary

Keep this PR Draft and unmerged while #118 owns exact protected v0.6.0 tag/publication/provenance/digest operational acceptance from main@3b38ead2d00f44eb578d0689087b9293b3dabe1e and qualifying independent approval/live governance remain unsatisfied. Before any later Ready/merge transition, refetch exact head/live base, rulesets, formal reviews/threads and every applicable required workflow. Do not substitute a branch ref for tag/release identity, self-approve, weaken gates, or transfer predecessor evidence.

@coderabbitai

coderabbitai Bot commented Aug 11, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@opencode-agent opencode-agent Bot added priority: medium Normal-priority or P2 work status: draft Draft pull request type: bug Defect or incorrect behavior labels Aug 22, 2026
Signed-off-by: Seongho Bae <me@seonghobae.me>
Signed-off-by: Seongho Bae <me@seonghobae.me>
@seonghobae

Copy link
Copy Markdown
Contributor Author

Restacked the durable ETag and save-result reflection boundary onto exact main@a40b9489665bed7d95af619a6079b9c51cab299a and propagated the event-specific Python matrix contract. Exact head: 3dd58388019e9b007fe3f130476a2e6f0c5eb9ba. Fresh local proof: focused autosave session/documentation suite 5 files / 49 tests; TypeScript typecheck; full Vitest 159 files / 894 tests with 100% statements, branches, functions, and lines; production build; all packed package consumers including autosave; Python support contract 4/4. Draft and independent-approval gates remain unchanged.

@seonghobae

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

Remove the duplicated Python support contract changes from this autosave ETag branch. PR #405 remains the single writer while this branch keeps its bounded durable ETag delta.

Signed-off-by: Seongho Bae <seonghobae@users.noreply.github.com>

Commit-Message-Assisted-by: Claude (via Claude Code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: medium Normal-priority or P2 work status: draft Draft pull request type: bug Defect or incorrect behavior

Projects

None yet

1 participant